#ifndef __SBDATABASEMYSQL_HPP__
#define __SBDATABASEMYSQL_HPP__

#include "SBDatabase.hpp"
#include <mysql++/mysql++.h>

/**
 * LoginDatabaseMysql est une version mysql de LoginDatabase
 * toutes les implémentation de LoginDatabase l'utilise
 */

	namespace network
	{

		namespace db
		{
class SBDatabaseMysql : 
	public SBDatabase
{
public :
    /**
        * Constructeur
        */
    SBDatabaseMysql();

    /**
     * Connexion à la base de donnée
     */
    void connect(const std::string& id, const std::string& _pass, const std::string& _db, const std::string& _host, const unsigned short _port);

    bool checkLogin( const std::string& _username, const std::string& _password/*, struct login_data::login_info& login_info_*/, const int _md5Encryption);

    /**
     * Deconnexion
     */
    void disconnect();

    ~SBDatabaseMysql();

private :

    mysqlpp::Connection m_connection;

    mysqlpp::Query m_query;
 
	mysqlpp::StoreQueryResult		m_res;
    mysqlpp::SimpleResult			m_exe;
    mysqlpp::UseQueryResult			m_use;

};

	}	//	namespace db
}	//	//	namespace network


#endif //__SBDATABASEMYSQL_HPP__
